home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000130_connolly@pixel.convex.com _Fri Jun 12 03:31:28 1992.msg < prev    next >
Internet Message Format  |  1994-01-24  |  9KB

  1. Return-Path: <connolly@pixel.convex.com>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA21811; Fri, 12 Jun 92 03:31:28 MET DST
  4. Received: by dxmint.cern.ch (dxcern) (5.57/3.14)
  5.     id AA14764; Fri, 12 Jun 92 03:31:33 +0200
  6. Received: from pixel.convex.com by convex.convex.com (5.64/1.35)
  7.     id AA12883; Thu, 11 Jun 92 20:31:12 -0500
  8. Received: from localhost by pixel.convex.com (5.64/1.28)
  9.     id AA29502; Thu, 11 Jun 92 20:31:09 -0500
  10. Message-Id: <9206120131.AA29502@pixel.convex.com>
  11. To: timbl@zippy.lcs.mit.edu (Tim Berners-Lee)
  12. Cc: enag@ifi.uio.no, www-talk@nxoc01.cern.ch
  13. Subject: Re: MIME, SGML, UDIs, HTML and W3 
  14. In-Reply-To: Your message of "Thu, 11 Jun 92 12:22:56 EDT."
  15.              <9206111622.AA03819@zippy.lcs.mit.edu> 
  16. Date: Thu, 11 Jun 92 20:31:08 CDT
  17. From: Dan Connolly <connolly@pixel.convex.com>
  18.  
  19.  
  20. Now my comments on your comments:
  21.  
  22. >There is no reason why we shouldn't try both protocols.
  23. >If they map well onto each other, its just a question
  24. >of having two separate prasers at the low level, building
  25. >the same internal structures.
  26. >
  27. On the other hand, I'd like to keep a telnet based protocol
  28. around -- maybe gopher is good enough.
  29.  
  30. >When we're talking about an SGML representation,
  31. >and describe a file to come later down the link,
  32. >I don't think we have to use the NOTATION= attribute with a notation
  33. >type, because we won't in fact be talking about
  34. >the notation of an SGML element.
  35. >The format in this case is not something which the SGML
  36. >parse is aware of.
  37. >
  38. I don't believe this is true. From the horse's mount (Erik Naggum, that is):
  39. ----
  40. |   What's the scoop? Do we have to use external entities for raw data?
  41.  
  42. Yes.  An external entity that is not an SGML text entity requires a
  43. notation identifier, so you only need to list the entities in the DTD,
  44. with notation, and refer to them by name in the document instance.
  45.  
  46. ----
  47.  
  48. >1. MIME classification of data formats
  49. >
  50. >     So I'd
  51. >    back the use of these for W3.
  52. >
  53. Yeah!!
  54.  
  55. >
  56. >2. The MIME format for multi-part messages
  57. >
  58. >    This is necessary for sending a multi-part
  59. >    document over a mail link.  We have to ask ourselves
  60. >    whether it is reasonable to use over a binary link.
  61. >    Personally, my initial impression is that the MIME
  62. >    stuff, using as it does terminators such as
  63. >    --xxx-- separated by blank lines, looks more horrible
  64. >    to work with in this respect than SGML!
  65.  
  66. The algorithm to separate a MIME multipart message into its
  67. parts is simply: search the data stream for CRLF--boundary--CRLF.
  68. It can be done by a finite state machine. Even the simplest
  69. SGML documents require a pushdown automaton to parse.
  70.  
  71. > Still we have
  72. >    the problem of restrictions on the content:
  73. >    Must not contain delimiters, limited 7 bit character set,
  74. >    line orientation, in fact all the things which email
  75. >    carries as a restriction.  This is really taking on board
  76. >    a legacy of all the mail which has evolved over the years.
  77. >    Do we need that for our new ultra-fast hypertext access
  78. >    protocol?
  79. >
  80.  
  81. No, we don't. MIME _allows_ transfer of data over 7 bit ASCII
  82. channels, but it hardly requres it. The Content-transfer-encoding
  83. can be:
  84.     7 bit (default): line oriented 7 bit data
  85.     8 bit : line oriented 8 bit data
  86.     binary : raw 8 bit data, no CRLF's required
  87.     base64: uuencode standardized
  88.     quoted-pritable: text with escape sequences
  89.  
  90. The MIME standard explicitly supports expansion to 8 bit transport
  91. mechanisms.
  92.  
  93. >    [Compare the MIME format with the rather cleaner NeXT
  94. >    Mail format which is as far as I understand simply
  95. >    a uuencoded compressed tar file of all the bits, where
  96. >    uuencoding is designed as an optimal way of getting over
  97. >    mail transport restrictions, compress does what it says
  98. >    and tar is a multipart wrapper designed for that only. Not
  99. >    standard outside unix, perhaps, but cleaner in that the
  100. >    mail formatting is done at the last minute and doesn't
  101. >    affect the other operations]
  102. >
  103. It was a requirement of MIME that the structure of the document
  104. be accessible without decoding or uncompressing data, especially
  105. since MIME messages are recursive and complex messages might
  106. otherwise go through more than one encoding.
  107.  
  108. Compression was not addressed by the MIME standard, and uuencode
  109. doesn't make it though some gateways.
  110.  
  111. >    If course, with HTTP2, multipart/alternative shouldn't
  112. >    be needed.
  113. >
  114. What does HTTP2 define that obviates the multipart/alternative
  115. type?
  116.  
  117.  
  118. >  Multipart for hypetext?
  119. >
  120. >    Now, Dan not only suggests the use of this for
  121. >    multipart messages, but also suggests that a hypetext
  122. >    document shoudl necessarily contain many parts,
  123. >    one on SGML and one for each link as a MIME external document.
  124. >    This means that an SGML hypertext document can never stand
  125. >    on its own!
  126.  
  127. That's exatly the point. Anything besides text should be handled
  128. as an external entity to be resolved by the parsing system. I just
  129. suggested that a portable way to resolve SGML external entities
  130. is to refer to MIME attachments.
  131.  
  132. > An SGML parser will always need to have
  133. >    a MIME parser sitting just outside.  I don't like
  134. >    this: I feel we have to separate these two things.
  135. >
  136. Well, it has to have something sitting outside. The SGML parsers
  137. I've seen resolve system entities using the file system. I proposed
  138. we use a MIME message like a mini file system, with links to
  139. other file systems.
  140.  
  141. >    Suppose that an SGML document does want to
  142. >    be sent in a MIME message and does want to
  143. >    refer to other parts of that MIME message. In that case,
  144. >    it seems reasonable to have a format for that.
  145. >    However, when an SGML document is seen by itself, and
  146. >    refers to a news message for example, then there is
  147. >    no resaon for it not to be able to contain a
  148. >    complete reference within itself.
  149. >
  150. OK, I can see that we should be able to resolve the lexical
  151. issues and put the whole UDI/MIME access specification inside
  152. the SGML document.
  153.  
  154. But what about multimedia web nodes?
  155.  
  156. SGML describes text and references to other texts just fine.
  157. But if we want a format that can include more than just
  158. text, I don't think we should try to fit it _inside_ SGML.
  159.  
  160. I think SGML should be used to convey text and document
  161. structure. But I still like the idea of wrapping it in
  162. a MIME message for multimedia interoperability.
  163.  
  164.  
  165. >3. The MIME format for rich text.
  166. >
  167. >    Here, I am not so impressed.
  168. Nor am I.
  169.  
  170.  
  171. >4. The MIME format for external document addresses (MIME UDIs)
  172. >
  173. >    As Ed <emv@msen.com> says, this is a bit of a non-issue,
  174. >    as MIME addersses and currnet style UDIs map onto
  175. >    each other. However, we have to agree on a "concrete
  176. >    syntax" (or two... :-) in the end.
  177. >
  178. Exactly. And why not the MIME concrete syntax?
  179.  
  180. >    Let me say that I personally don't much care about the
  181. >    arbitrary punctuation. There are a few things, though,
  182. >    which are important:
  183. >
  184. >    -  The thing should be printable 7-bit ASCII.
  185. >
  186. MIME: check.
  187.  
  188. >       Unlike arbitrary document formats,
  189. >       UDIs must be sendable in the mail
  190. >
  191. MIME: check.
  192.  
  193. >    - White space should not be significant. I would
  194. >      accept the presence of some arbitrary white space
  195. >      as a delimiter, but one cannot distinguish between
  196. >      different forms and quantities of white space.
  197. >      This is because things get wrapped and unwrapped.
  198. >
  199. MIME: check.
  200.  
  201. >      Dan, you object to UDIs because they don't
  202. >      contain white space. But that is purely so that
  203. >      to CAN wrap them onto several lines and still
  204. >      recuperate them.  You can put white space
  205. >      in but it shouldn't mean anything. (This is not possible
  206. >      in W3 as is but it is in the UDI document)
  207. >
  208. I must not have read the UDI document closely. I certainly
  209. got the impression that a UDI should look like one word
  210. when "written on the back of an envelope."
  211.  
  212. >      I don't see why you say they
  213. >      can't be put as an SGML attribute. They are just
  214. >      text strings.
  215.  
  216. The WAIS UDIs are huge. An SGML declaration defines a maximum
  217. for the length of an attribute value. The default value is ...
  218. oh. ahem. it's 960. I think the MIME 72 character line length
  219. is a little more restrictive than that :-)
  220.  
  221. > They will be quoted of course
  222. >      (Yes, I know the old NeXT browser doesn't quote them)
  223. >      Is that not allowed? What are the problem characters?
  224. >      If there SGML problem characters in the UDI spec, they
  225. >      probably are ruled out of SGML for a reason.
  226. >
  227. Good question. These are the things we should research before
  228. we go _any_ further implementing this stuff.
  229.  
  230. >    Whatever we sue, it should be as quotable in an SGML
  231. >    attribute as in a MIME external reference as in a
  232. >    scribbled note or a link-pasteboard or whatever.
  233. >    (The U is for Universal, NOT Unique!)
  234. >
  235. Here's an idea for a quoting strategy for the four parts: Either
  236.     a) it'a a quoted string delimited by "" with \" allowed
  237.     in the middle, or
  238.     b) it's a base-64 representation of an arbitrary
  239.     binary stream.
  240. Just an idea.
  241.  
  242. I'm late for an appointment. Gotta go.
  243.  
  244. Dan